#ifndef __PAQUETE_H__
#define __PAQUETE_H__

#include "cola_mensaje.h"

struct paquete{
  int size;
  int progreso;
  void *datos;
};

typedef struct paquete paquete;

int procesar_paquete_entrante(paquete **entrante, cola_mensaje **cola);
int procesar_paquete_saliente(paquete **saliente, cola_mensaje **cola);
int paquete_destruir(paquete **saliente);

/* FUNCIONES PARA WRITE*/
int paquete_saliente_a_socket_preparar(paquete **saliente, void **datos, int *size);
int paquete_saliente_a_socket_resultado(paquete **saliente, int enviados);

/*FUNCIONES PARA READ*/
int paquete_entrante_que_pedir(paquete **entrante, void **datos, int *size);
int paquete_entrante_mas_datos(paquete **entrante, int recibidos);


#endif
